home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Dream Studio
/
Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso
/
DREAMSDK.WIN
/
INCLUDE
/
I3DEXIO.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-11
|
5KB
|
105 lines
/* $Id: i3Dexio.h 1.2 1995/09/11 01:15:33 YannPC Exp $ */
/*****************************************************************************\
* *
* I3DExIO.h *
* I3DExImportFilter definition *
* I3DExExportFilter definition *
* *
* Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
* *
\*****************************************************************************/
#ifndef __I3DEXIO__
#define __I3DEXIO__
#ifndef __I3DEX__
#include "I3DEx.h"
#endif
#ifndef __I3DSHSCN__
#include "I3DShScn.h"
#endif
struct I3DShOffscreen;
//****** Globally Unique Ids *************************************************
DEFINE_GUID(IID_I3DExImportFilter, 0xA58E2440L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
DEFINE_GUID(IID_I3DExExportFilter, 0xA75AF500L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
/*****************************************************************************\
* I3DExImportFilter *
* *
* 3D Importer *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DExImportFilter
DECLARE_INTERFACE_(I3DExImportFilter, I3DExDataExchanger) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DExtension methods
STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
// I3DExDataExchanger methods
STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
STDMETHOD(ExtensionDataChanged) (THIS) PURE;
STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
STDMETHOD_(short, GetResID) (THIS) PURE;
// I3DExImportFilter methods
STDMETHOD_(BOOLEAN, Prepare) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
STDMETHOD_(BOOLEAN, WantsOptionDialog) (THIS) PURE;
STDMETHOD(DoImport) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
};
/*****************************************************************************\
* I3DExExportFilter *
* *
* 3D Exporter *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DExExportFilter
DECLARE_INTERFACE_(I3DExExportFilter, I3DExDataExchanger) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DExtension methods
STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
// I3DExDataExchanger methods
STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
STDMETHOD(ExtensionDataChanged) (THIS) PURE;
STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
STDMETHOD_(short, GetResID) (THIS) PURE;
// I3DExExportFilter methods
STDMETHOD_(BOOLEAN, Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
STDMETHOD_(BOOLEAN, WantsOptionDialog) (THIS) PURE;
STDMETHOD(NeededDiskSpace) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree, ULONG* diskSpace) PURE;
STDMETHOD(DoExport) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
//-- Preview calls
STDMETHOD_(BOOLEAN, WantsPreview) (THIS) PURE;
STDMETHOD(GetPreviewSize) (THIS_ short* sizeh, short* sizev) PURE;
STDMETHOD(SetPreview) (THIS_ I3DShOffscreen* preview) PURE;
};
#endif